Method for scheduling single-arm cluster tools with wafer revisiting and residency time constraints

ABSTRACT

In semiconductor manufacturing, there are wafer fabrication processes in cluster tools that need a wafer to visit some processing steps for more than once, leading to a revisiting process. Also, wafers may be subject to wafer residency time constraints. By considering atomic layer deposition (ALD) as a typical wafer revisiting process, this invention studies the challenging scheduling problem of single-arm cluster tools for the ALD process with wafer residency time constraints. By recognizing that the key to this problem is to schedule the robot tasks, the present invention presents different robot task sequencing strategies. With these strategies for different cases, the present invention performs the schedulability analysis and derives the schedulability conditions for such tools for the first time. If schedulable, the present invention proposes scheduling algorithms to obtain an optimal schedule efficiently. Illustrative examples are given to show the application of the proposed concepts and approach.

CLAIM FOR DOMESTIC PRIORITY

This application claims priority under 35 U.S.C. §119 to the U.S. Provisional Patent Application No. 62/102,112 filed Jan. 12, 2015, the disclosure of which is incorporated herein by reference in its entirety.

COPYRIGHT NOTICE

A portion of the disclosure of this patent document contains material, which is subject to copyright protection. The copyright owner has no objection to the facsimile reproduction by anyone of the patent document or the patent disclosure, as it appears in the Patent and Trademark Office patent file or records, but otherwise reserves all copyright rights whatsoever.

FIELD OF THE INVENTION

The present invention relates to a method for scheduling single-arm cluster tools. More particularly, the present invention relates to a method for scheduling single-arm cluster tools with wafer revisiting and residency time constraints.

BACKGROUND

The following references are cited in the specification. Disclosures of these references are incorporated herein by reference in their entirety.

List of References:

-   N. Brauner, “Identical part production in cyclic robotic cells:     Concepts, overview and open questions,” Discrete Appl. Math., vol.     156, no. 13, pp. 2480-2492, 2008. -   W. K. Chan, J. G. Yi, and S. W. Ding, “Optimal Scheduling of     Multi-cluster Tools with Constant Robot Moving Times, Part I:     Two-Cluster Analysis,” IEEE Transactions on Automation Science and     Engineering, vol. 8, no. 1, pp. 5-16, 2011a. -   W. K. Chan, J. G. Yi, S. W. Ding, and D. Z. Song, “Optimal     Scheduling of Multi-cluster Tools with Constant Robot Moving Times,     Part II: Tree-Like Topology Configurations,” IEEE Transactions on     Automation Science and Engineering, vol. 8, no. 1, pp. 17-28, 2011b. -   Y. Crama, V. Kats, J. van de Klundert, and E. Levner, “Cyclic     scheduling in robotic flowshops,” Ann. Oper. Res.: Math. Ind. Syst.,     vol. 96, no. 1-4, pp. 97-124, 2000. -   Y. Crama and J. van de Klundert, “Cyclic scheduling of identical     parts in a robotic cell,” Oper. Res., vol. 45, no. 6, pp. 952-965,     1997. -   M. Dawande, N. Geismar, M. Pinedo, and C. Sriskandarajah,     “Throughput optimization in dual-gripper interval robotic cells,”     IIE Trans., vol. 42, no. 1, pp. 1-15, January 2010. -   M. Dawande, H. N. Geismar, S. P. Sethi, and C. Sriskandarajah,     Throughput Optimization in Robotic Cells. New York: Springer, 2007. -   M. Dawande, C. Sriskandarajah, and C. S. Sethi, “On throughput     maximization in constant travel-time robotic cells,” Manuf. Serv.     Oper. Manage., vol. 4, no. 4, pp. 296-312, 2002. -   H. N. Geismar, L. M. A. Chan, M. Dawande, and C. Sriskandarajah,     “Approximations to optimal k-unit cycles for single- and     dual-gripper robotic cells,” Prod. Oper. Manage H. N.     Geismar, L. M. A. Chan, M. Dawande, and C. Sriskandarajah,     “Approximations to optimal k-unit cycles for single- and     dual-gripper robotic cells,” Prod. Oper. Manage., vol. 17, no. 5,     pp. 551-563, 2008. -   H. N. Geismar, M. Dawande, and C. Sriskandarajah, “Throughput     optimization in constant travel-time dual-gripper robotic cells with     parallel machines,” Prod. Oper. Manage., vol. 15, no. 2, pp.     311-328, 2006. -   J.-H. Kim, T.-E. Lee, H.-Y. Lee, and D.-B. Park, Scheduling analysis     of timed-constrained dual-armed cluster tools, IEEE Transactions on     Semiconductor Manufacturing, vol. 16, no. 3, 521-534, 2003. -   T.-E. Lee and S.-H. Park, “An extended event graph with negative     places and tokens for timed window constraints,” IEEE Transactions     on Automation Science and Engineering, vol. 2, no. 4, 319-332, 2005. -   H.-Y. Lee and T.-E. Lee. Scheduling single-arm cluster tools with     reentrant wafer flows. IEEE transactions on Semiconductor     Manufacturing, vol.19, no.2, 226-240, 2006. -   T.-E. Lee, H.-Y. Lee, and Y.-H. Shin, Workload balancing and     scheduling of a single-armed cluster tool, in Proceedings of the 5th     APIEMS Conference, Gold Coast, Australia, 1-15, 2004. -   M.-J. Lopez and S.-C. Wood, Systems of multiple cluster     tools—configuration, reliability, and performance, IEEE Transactions     on Semiconductor Manufacturing, vol. 16, no. 2, 170-178, 2003. -   M., Pinedo, Scheduling: Theory, Algorithms, and Systems, Prentice     Hall, Englewood Cliffs, N.J., 1995. -   T. L. Perkinson, R. S. Gyurcsik, and P. K. MacLarty, “Single-wafer     cluster tool performance: An analysis of the effects of redundant     chambers and revisitations sequences on throughput,” IEEE     Transactions on Semiconductor Manufacturing, vol. 9, no. 3, 384-400,     1996. -   T. L. Perkinson, P. K. MacLarty, R. S. Gyurcsik, and R. K. Cavin,     III, “Single-wafer cluster tool performance: An analysis of     throughput,” IEEE Transactions on Semiconductor Manufacturing, vol.     7, no. 3, 369-373, 1994. -   Y. Qiao, N. Q. Wu, and M. C. Zhou, A Petri net-based novel     scheduling approach and its cycle time analysis for dual-arm cluster     tools with wafer revisiting, IEEE Transactions on Semiconductor     manufacturing, vol. 26, no. 1, 100-110, 2013. -   Y. Qiao, N. Q. Wu, and M. C. Zhou, Scheduling of dual-arm cluster     tools with wafer revisiting and residency time constraints, IEEE     Transactions on Industrial Informatics, vol. 10, no. 1, 286-300,     2014a. -   Y. Qiao, N. Q. Wu, and M. C. Zhou, Schedulability and scheduling     analysis of dual-arm cluster tools with wafer revisiting and     residency time constraints based on a novel schedule, IEEE     Transactions on Systems, Man, & Cybernetics: Systems, in press,     2014b. -   S. Sechi, J. Sidney, and C. Sriskandarajah, “Scheduling in     dual-gripper robotic cells for productivity gains,” IEEE Trans.     Robot. Autom., vol.17, no. 3, pp. 324-341, 2001. -   S. Sechi, C. Sriskandarajah, G. Sorger, J. Blazewicz, and W. Kubiak,     “Sequencing of parts and robot moves in a robotic cell,” Int. J.     Flexible Manuf. Syst., vol. 4, no. 3-4, pp. 331-358, 1992. -   S. Venkatesh, R. Davenport, P. Foxhoven, and J. Nulman, “A steady     state throughput analysis of cluster tools: Dual-blade versus     single-blade robots”, IEEE Trans. Semiconduct. Manuf ., vol.10, no.     4, pp. 418-424, 1997.

N. Q. Wu, C. B. Chu, F. Chu, and M. C. Zhou, “A Petri net method for schedulability and scheduling problems in single-arm cluster tools with wafer residency time constraints,” IEEE Transactions on Semiconductor Manufacturing, vol. 21, no. 2, pp. 224-237, 2008.

-   N. Q. Wu, F. Chu, C. Chu, and M. Zhou, “Petri Net-Based Scheduling     of Single-Arm Cluster Tools With Reentrant Atomic Layer Deposition     Processes,” IEEE Transactions on Automation Science and Engineering,     vol. 8, no. 1, pp. 42-55, 2011. -   N. Q. Wu, F. Chu, C. B. Chu, and M. C. Zhou, “Petri net modeling and     cycle time analysis of dual-arm cluster tools with wafer     revisiting,” IEEE Transactions on Systems, Man, & Cybernetics:     Systems, vol. 43, no. 1, pp. 196-207, 2013a. -   N. Q. Wu and M. Zhou, “Analysis of wafer sojourn time in dual-arm     cluster tools with residency time constraint and activity time     variation,” IEEE Transactions on Semiconductor Manufacturing, vol.     23, no. 1, pp. 53-64, 2010a. -   N. Q. Wu and M. C. Zhou, “A closed-form solution for schedulability     and optimal scheduling of dual-arm cluster tools based on steady     schedule analysis,” IEEE Transactions on Automation Science and     Engineering, vol. 7, no. 2, 303-315, 2010b. -   N. Q. Wu and M. C. Zhou, Colored timed Petri nets for modeling and     analysis of cluster tools, Asian Journal of Control, vol. 12, no. 3,     253-266, 2010c. -   N. Q. Wu and M. C. Zhou, “Modeling, analysis and control of dual-arm     cluster tools with residency time constraint and activity time     variation based on Petri nets,” IEEE Transactions on Automation     Science and Engineering, vol. 9, no. 2, 446-454, 2012a. -   N. Q. Wu and M. C. Zhou, “Schedulability analysis and optimal     scheduling of dual-arm cluster tools with residency time constraint     and activity time variation,” IEEE Transactions on Automation     Science and Engineering, vol. 9, no. 1, 203-209, 2012b. -   N. Q. Wu, M. C. Zhou, F. Chu, and C. B. Chu, A Petri-net-based     scheduling strategy for dual-arm cluster tools with wafer     revisiting, IEEE Transactions on Systems, Man, & Cybernetics:     Systems, vol. 43, no. 5, 1182-1194, 2013b. -   W. M. Zuberek, “Timed Petri nets in modeling and analysis of cluster     tools,” IEEE Transactions on Robotics Automation, vol. 17, no. 5,     pp. 562-575, October 2001. -   W. M. Zuberek, “Cluster tools with chamber revisiting—modeling and     analysis using timed Petri nets”, IEEE Transactions on Semiconductor     Manufacturing, vol. 17, no. 3, 333-344, 2004.

With a single-wafer processing technology, cluster tools are widely used for wafer fabrication in semiconductor manufacturing. A typical cluster tool has several process modules (PMs), two loadlocks, and a wafer handling robot with a radical layout as shown in FIG. 1. Equipped with one or two arms for the robot, the corresponding tool is called a single or dual-arm cluster tool. Cassettes with lots of raw wafers are loaded into or unloaded from a cluster tool through the loadlocks. A wafer is unloaded from the loadlock by the robot and delivered to one or more PMs for processing in a pre-specified order decided by a recipe. Often, the wafers in a cassette have an identical recipe. A wafer should stay in a PM for a minimum time to be processed. After all operations are completed, it returns to the cassette from which it comes [Wu et al., 2010b]. When all the wafers in a cassette are processed, the cassette is unloaded from the loadlock such that another cassette can be loaded. In this way, with two loadlocks, a cluster tool can operate consecutively without interruption.

Cluster tools are a kind of robotic cells and a robotic cell is a flow-shop with blocking [Pinedo, 1995]. Extensive work has been done for the operation of a robotic cell [Brauner, 2008; Crama et al., 1997 and 2000; Dawande et al., 2002, 2007 and 2009; Geismar et al., 2006 and 2008; Sechi et al., 1992 and 2001]. They mainly focus on a flow-shop operation mode with one part type to be processed and a processed part can stay at a machine for an unlimited time. A cyclic schedule is called a k-unit schedule if exactly k parts are produced during every period [Sechi et al., 1992]. When k=1, it is a one-unit cyclic schedule. Owing to its easy implementation, one-unit cyclic schedule is the most desired in practice assuming that all the schedules achieve the same maximum throughput.

To effectively operate a single-cluster tool, plenty of studies have been done [Venkatesh et al., 1997; Perkinson et al., 1994 and 1996; Zuberek, 2001; Wu et al., 2011 and 2013; and Wu and Zhou, 2010a, 2012a, and 2012b]. They show that a cluster tool mostly operates under a steady state. If the robot is the bottleneck and the robot task time decides the cycle time of a tool, the tool operates in a transport-bound region. Contrarily, if the wafer processing time dominates the process and decides the cycle time, it operates in a process-bound region. In practice, the robot task time is much shorter than the wafer processing time [Lee et al., 2004; Lopez and Wood, 2003]. Thus, a single-arm cluster tool is mostly process-bound and a backward scheduling strategy is shown to be optimal [Lee et al., 2004; Lopez and Wood, 2003].

Some wafer fabrication processes impose strict wafer residency time constraints in a PM, which requires that a processed wafer be removed from the PM within a limited time, otherwise it suffers from serious quality problem [Kim et al., 2003; Lee and Park, 2005]. With such constraints, the scheduling problem of cluster tools becomes very complicated and challenging. Methods are developed in [Kim et al., 2003; Lee and Park, 2005] to schedule dual-arm cluster tools with wafer residency time constraints for cyclic scheduling. With Petri net models and robot waiting concept, much more efficient techniques are presented in [Wu et al., 2008; and Wu and Zhou, 2010a] for scheduling both single and dual-arm cluster tools.

In wafer fabrication, a wafer may need to visit some processing steps several times, leading to a revisiting process. Atomic layer deposition (ALD) is a typical revisiting process in the semiconductor manufacturing [Lee, et al., 2006]. With wafer revisiting, it is challenging to schedule a cluster tool. All the aforementioned studies are conducted on cluster tools for non-revisiting processes. To explore the potential in operating a cluster tool with wafer revisiting, methods are presented for performance evaluation by using Petri net models in [Zuberek, et al., 2004; and Wu and Zhou, 2010c] without providing a scheduling technique. Lee, et al. [2006] study the scheduling problem of single-arm cluster tools with wafer revisiting for the first time. In their work, based on a Petri net model, the problem is formulated as a mixed integer programming such that an optimal schedule can be found. This problem is further investigated in [Wu, et al., 2011] for the ALD process by using Petri net model and analytical expressions are derived to find the optimal schedule. For dual-arm cluster tools with wafer revisiting, based on a Petri net model, Wu et al., [2013a] find that, by using a swap strategy, the system may never enter a steady state and analytical expressions are presented to correctly calculate the cycle time. Based on this finding, effective methods are developed to schedule such dual-arm cluster tools in [Wu et al., 2013b; and Qiao et al., 2013].

With both wafer residency time constraints and revisiting, the scheduling problem of cluster tools is very complicated. Based on the scheduling strategy proposed in [Qiao et al., 2013], effective techniques are developed to schedule dual-arm cluster tools for the ALD process with wafer residency time constraints for different situations in [Qiao et al., 2014a and 2014b]. Up to now, there is no research report on scheduling single-cluster tools with both wafer residency time constraints and wafer revisiting. Notice that, with wafer revisiting, it is more difficult to balance the workloads among the steps for a single-arm cluster tool than for a dual-arm cluster tool, thereby, leading to a more difficult problem to schedule a single-arm tool than a dual-arm one.

There is a need in the art for a method to obtain a schedule when wafer revisiting process and residency time constraints are taken into consideration.

SUMMARY OF THE INVENTION

An aspect of the present invention is to provide a computer implemented method for scheduling a single-arm cluster tool with wafer revisiting process and residency time constraints.

According to an embodiment of the present claimed invention, a computer implemented method for scheduling a single-arm cluster tool with wafer revisiting process and residency time constraints comprises: obtaining, by a processor, a wafer processing time, a wafer residency time, a robot task time for loading/unloading a wafer, and a robot task time for robot's moving; determining, by a processor, a cycle time for the wafer revisiting process based on the wafer processing time, the robot task time for loading/unloading the wafer, and the robot task time for robot's moving; determining, by a processor, a cycle time of system based on the wafer processing time, the robot task time for loading/unloading the wafer, and the robot task time for robot's moving; determining, by a processor, a case of an algorithm from a plurality of defined cases of algorithms based on the wafer processing time, the determined cycle time for the wafer revisiting process, and the determined cycle time of system; determining, by a processor, a robot scheduling strategy based on the determined case of the algorithm, wherein the robot scheduling strategy comprises a plurality of basic activity sequences; determining, by a processor, a robot waiting time based on the wafer residency time and the determined case of the algorithm; and generating, by a processor, a schedule based on the determined robot scheduling strategy and the determined robot waiting time.

The present invention makes the following contributions: 1) schedulability conditions under which a feasible cyclic schedule exists are proposed; and 2) If schedulable, closed-form algorithms are developed to find the optimal schedule.

With wafer revisiting and wafer residency time constraints, it is highly challenging to schedule a cluster tool. For an ALD process, the present invention solves such a scheduling problem for single-arm cluster tools with wafer flow pattern (PM1, (PM2, PM3)²). Based on a prior work [Wu, et al., 2011], different strategies for scheduling the robot task sequence are proposed and analyzed. Then, for different cases, schedulability analysis is conducted and schedulability conditions are established. If schedulable, scheduling algorithms are proposed such that a feasible and optimal schedule is swiftly found. Thus, the method of the present invention represents a significant advancement in this research field.

The results obtained are for ALD process with the wafer flow pattern (PM1, (PM2, PM3)²), which looks very simple but its optimal scheduling task is actually much more complicated than one might think or in comparison with a non-revisiting process.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 shows cluster tools: (a) single-arm tool, and (b) dual-arm tool;

FIG. 2 illustrates an ALD process (k>1);

FIG. 3 depicts a Gantt chart for the schedule of wafer revisiting process (PM2, PM3)²;

FIG. 4 depicts a Gantt chart of sequence A² ₂₃A₀₁A₁₂A₃₀A¹ ₂₃A₃₂ with α₂≦α₃;

FIG. 5 depicts a wafer sojourn time at different steps in different cases;

FIG. 6 depicts a Gantt chart of sequence A² ₂₃A₁₂A₀₁A₃₀A¹ ₂₃A₃₂ with α₂≦α₃;

FIG. 7 depicts a Gantt chart of sequence A² ₂₃A₁₂A₃₀A¹ ₂₃A₀₁A₃₂ with α₂≦α₃;

FIG. 8 depicts a Gantt chart of sequence A² ₂₃A₁₂A₃₀A¹ ₂₃A₃₂A₀₁ with α₂≦α₃;

FIG. 9 depicts a Gantt chart of sequence A² ₂₃A₁₂A₀₁A₃₀A¹ ₂₃A₃₂ with α₂>α₃;

FIG. 10 depicts a Gantt chart of sequence A² ₂₃A₁₂A₃₀A₀₁A¹ ₂₃A₃₂ with α₂>α₃;

FIG. 11 depicts a Gantt chart of sequence A² ₂₃A₁₂A₃₀A¹ ₂₃A₀₁A₃₂ with α₂>α₃;

FIG. 12 depicts a Gantt chart of sequence A² ₂₃A₁₂A₃₀A¹ ₂₃A₃₂A₀₁ with α₂>α₃;

FIG. 13 depicts a Gantt chart of sequence A² ₂₃A₃₀A₁₂A₀₁A¹ ₂₃A₃₂; and

FIG. 14 depicts a Gantt chart of sequence A² ₂₃A₁₂A₀₁A₃₀A¹ ₂₃A₃₂.

DETAILED DESCRIPTION

In the following description, a computer implemented method for scheduling single-arm cluster tools with wafer revisiting process and residency time constraints is set forth as preferred examples. It will be apparent to those skilled in the art that modifications, including additions and/or substitutions maybe made without departing from the scope and spirit of the invention. Specific details may be omitted so as not to obscure the invention; however, the disclosure is written to enable one skilled in the art to practice the teachings herein without undue experimentation.

Accordingly, Section A briefly introduces the ALD process and presents the robot task sequencing strategies. Based on them, schedulability conditions and scheduling algorithms are derived in Section B. Illustrative examples are used to show the obtained results in Section C.

A. Fabrication Process and Scheduling Strategies

A.1 A. Atomic Layer Deposition Process

As a typical wafer fabrication process in semiconductor manufacturing, ALD controls the deposition film thickness by adjusting the number of repeating times such that a mono-atomic layer precision can be obtained. Furthermore, it uses much lower processing temperature, i.e., 100° C.-400° C., rather than 550° C.-800° C. for chemical vapor deposition. Hence, ALD is increasingly used in the semiconductor industry.

In an ALD process, there are three steps as shown in FIG. 2, a wafer visits Step 1 first, then Step 2 and followed by Step 3. After that, it goes back to Step 2 and then Step 3 again and this process is performed for a total of k(≧2) times, where k is decided by a process plan. In a cluster tool, multiple PMs may be configured for some steps to balance the workload among the steps. However, for a revisiting process, when a wafer revisits a processing step, the same processing environment is required as the wafer visits the prior step. With such a requirement, for the ALD process, often, only one PM is configured for a step to guarantee uniformity. An embodiment of the present invention focuses on the ALD process with one PM being configured for each step. Let PM1-PM3 be the PMs for Steps 1-3, respectively. Then, the wafer flow pattern of an ALD process can be denoted as (PM1, (PM2, PM3)^(k)) with (PM2, PM3)^(k) being a k-revisiting process. For the simplicity of presentation, one considers the case of k=2 only. Nevertheless, the obtained results for k=2 can be extended to cases of k>2. With k=2, the wafer flow pattern is (PM1, (PM2, PM3)²).

A.2 Activity Description

The loadlocks in a cluster tool can be treated as a processing step, as denoted by PM₀. In operating a cluster tool, the robot tasks include: unloading a processed wafer from a PM, moving from one PM to another with a wafer, loading a wafer into a PM for processing, moving from one PM to another without a wafer, and waiting. Given the status of a cluster tool and the wafer processing information, the key to schedule a cluster tool is to schedule its robot tasks.

TABLE 1 THE TIME DURATIONS ASSOCIATED WITH EACH ACTIVITY Symbol Action Time u_(i)/l_(i) The robot unloads/loads a wafer from/into Step i , i ε λ Ω₃ m_(ij) The robot's moving from Steps i to j with or without μ carrying a wafer, i, j ε Ω₃ m¹ ₂₃ and The robot's moving from Step 2 to 3 with the same μ m² ₂₃ wafer hold for the first and second time, respectively

Therefore, for scheduling of a single-arm cluster tool, the system is described as follows. Let u_(i) and l_(i) denote the robot unloading and loading a wafer from and into PM_(i), i∈Ω₃={0, 1, 2, 3}, respectively. Further, let m_(ij), i,j∈Ω₃, except m₂₃, denote the robot's moving from Steps i to j, and m¹ ₂₃ and m² ₂₃ denote its moving from Step 2 to 3 holding the same wafer for the first and second time, respectively.

Correspondingly, the temporal aspect for each robot activity is described as follows. The time taken for robot tasks u_(i) and l_(i) is identical and denoted by λ; and the time taken for m_(ij) except m₂₃, i,j∈Ω₃, m¹ ₂₃, and m² ₂₃ is also same and denoted by μ. Let ω_(i,j), i,j∈Ω₃, except ω₂₃, denote the time taken for the robot's waiting before unloading a wafer from PM_(i) to move to PM_(j) and, ω¹ ₂₃ and ω² ₂₃ the time for its waiting before unloading the same wafer from PM₂ to move to PM₃ for the first and second time, respectively.

Apart from the robot tasks, the wafer processing in a PM also takes time. Note that there is no processing requirement in the loadlocks. Thus, one uses α_(i) to denote the time taken for processing a wafer in PM_(i), i∈N₃={1, 2, 3}. With wafer residency constraints, a processed wafer should be unloaded from PM_(i) within a limited time δ_(i), which implies that a wafer can stay in PM_(i) for a duration that lies in the interval [α_(i), α_(i)+δ_(i)] without suffering from a quality problem. Let τ_(i)∈[α_(i), α_(i)+δ_(i)] denote the wafer sojourn time in PM_(i). The time duration for each activity is listed in Table I. In practice, as the robot task time is much shorter than wafer processing time, it is reasonable to assume that α_(i)≧5(μ+λ), i∈N₃.

It is known that a single-arm cluster tool for the ALD process is deadlock-prone [Lee and Lee, 2006; and Wu, et al., 2011]. However, this problem can be solved by using the policy presented in [Wu, et al., 2011]. Then, for a single-arm cluster tool with wafer revisiting and residency time constraints, according to [Wu et al., 2008; and Wu and Zhou, 2010b], the following schedulability definition is presented.

Definition 1 [Wu et al., 2008; and Wu and Zhou, 2010b]: Given wafer sojourn time interval [α_(i), α_(i)+δ_(i)] for Step i, i∈N₃, if there exists a schedule such that whenever u_(i) is performed, α_(i)≦τ_(i)≦α_(i)+δ_(i) holds, then, a single-arm cluster tool with wafer revisiting and residency time constraints is schedulable.

A.3 Scheduling Strategy

Following the idea in [Chan, et. al., 2011a and b], to simplify the presentation, one defines a basic activity sequence A_(ij)=

m_(xi) (without carrying a wafer)→u_(i)→m_(ij)l_(j)

, i,j∈Ω₃, where m_(xi) denotes that the robot can come to Step i from any Step x. Notice that x=i may hold, or the task before performing A_(ij) is l_(i). This means that, to perform A_(ij), the robot is already at Step i. In this case, A_(ij)=

u_(i)→m_(ij)→l_(j)

and it is denoted as A_(ij)\{m_(ii)} to indicate that m_(ii) takes no time. Also, A¹ ₂₃ and A² ₂₃ are defined in a similar way. With them, one can describe a schedule by presenting the robot task sequence with no robot waiting being taken into consideration.

According to Wu, et al. [2011], without wafer residency time constraints, the optimal one-wafer cyclic schedule for (PM2, PM3)² is deterministic and unique and such a schedule can be described as A² ₂₃A₁₂A₃₀A¹ ₂₃A₃₂. Let W_(d)(q) in PM_(i), d∈{1, 2, 3, . . . }, q∈N₂, and i∈N₃, denote the d-th wafer being processed in PM_(i) for the q-th time. The Gantt chart for the optimal one-wafer cyclic schedule of wafer revisiting process (PM2, PM3)² is illustrated in FIG. 3. In FIG. 3, “A₁₂(2λ+2μ)” means that A₁₂ is performed and it takes 2λ+2μ time units. The meaning of “A¹ ₂₃(2λ+2μ)”, “A₃₂(2λ+μ)”, “A² ₂₃(2λ+μ)”, and “A₃₀\{m₃₃}(2λ+μ)” is similar. From FIG. 3, one can observe that after A₁₂(2λ+2μ) is performed, the robot comes to PM₃ by performing m₂₃ immediately, and the time taken by A₁₂ together with m₂₃ is 2λ+3μ. As 2λ+3μ<α₃, when W₁(2) is processed in PM₃, the robot is already at Step 3. In other words, at time T₁, m₂₃ in A₃₀ has been already performed. Hence, during the time between T₁ and T₂, the task performed is A₃₀\{m₃₃} with 2λ+μ time units being taken. For this schedule, the cycle time for the revisiting process is ζ=Max {2λ+3μ, α₂, α₃}+(4λ+3μ)+(4λ+2μ+α₂+α₃)=8λ+5μ+α₂+α₃+Max{α₂, α₃}.

Let Θ be the cycle time of the whole system. One has Θ=ζ or Θ>ζ. If Θ=ζ, the robot activity sequence for the revisiting process (PM2, PM3)² in the schedule for the entire system should be same as that in the optimal one-wafer cyclic schedule for (PM2, PM3)², or it is A² ₂₃A₁₂A₃₀A¹ ₂₃A₃₂. Then, to obtain a schedule for the entire system, the key is to decide when A₀₁ should be performed while satisfying the wafer residency time constraints. There are totally five possible robot task sequences for the entire system, i.e., 1) A² ₂₃A₀₁A₁₂A₃₀A¹ ₂₃A₃₂; 2) A² ₂₃A₁₂A₀₁A₃₀A¹ ₂₃A₃₂; 3) A² ₂₃A₁₂A₃₀A₀₁A¹ ₂₃A₃₂; 4) A² ₂₃A₁₂A₃₀A¹ ₂₃A₀₁A₃₂; and 5) A² ₂₃A₁₂A₃₀A¹ ₂₃A₃₂A₀₁, leading to five different strategies. One needs to analyze them, respectively.

For Case 1): A² ₂₃A₀₁A₁₂A₃₀A¹ ₂₃A₃₂, i.e., without robot waiting, the robot activity sequence is σ₁=

unloading a wafer from PM₂ (λ)→moving to PM₃ (μ)→loading a wafer into PM₃ (λ)→moving to PM₀ (μ)→unloading a wafer from PM₀ (λ)→moving to PM₁ (μ)→loading a wafer into PM₁ (λ)→unloading a wafer from PM₁ (λ)→moving to PM₂ (μ)→loading a wafer into PM₂ (λ)→moving to PM₃ (μ)→unloading a wafer from PM₃ (λ)→moving to PM₀ (μ)→loading a wafer into PM₀ (λ)→moving to PM₂ (μ)→unloading a wafer from PM₂ (λ)→moving to PM₃ (μ)→loading a wafer into PM₃ (λ)→unloading a wafer from PM₃ (λ)→moving to PM₂ (μ)→loading a wafer into PM₂ (λ)

. Therefore, in this case, the robot cycle time without waiting for the entire system is ψ₁₁=12λ+9μ  (1)

For Case 2): A² ₂₃A₁₂A₀₁A₃₀A¹ ₂₃A₃₂, the robot activity sequence is σ₂=

unloading a wafer from PM₂ (λ)→moving to PM₃ (μ)→loading a wafer into PM₃ (λ)→moving to PM₁ (μ)→unloading a wafer from PM₁ (λ)→moving to PM₂ (μ)→loading a wafer into PM₂ (λ)→moving to PM₀ (μ)→unloading a wafer from PM₀ (λ)→moving to PM₁ (μ)→loading a wafer into PM₁ (λ)→moving to PM₃ (μ)→unloading a wafer from PM₃ (λ)→moving to PM₀ (μ)→loading a wafer into PM₀ (λ)→moving to PM₂ (μ)→unloading a wafer from PM₂ (λ)→moving to PM₃ (μ)→loading a wafer into PM₃ (λ)→unloading a wafer from PM₃ (λ)→moving to PM₂ (μ)→loading a wafer into PM₂ (λ)

. Hence, one has ψ₂₁=12λ+10μ  (2)

Similarly, for Cases 3) A² ₂₃A₁₂A₃₀A₀₁A¹ ₂₃A₃₂, 4) A² ₂₃A₁₂A₃₀A¹ ₂₃A₀₁A₃₂, and 5) A² ₂₃A₁₂A₃₀A¹ ₂₃A₃₂A₀₁, one has ψ₃₁=12λ+9μ  (3) ψ₄₁=12λ+11μ  (4) ψ₅₁=12λ+11μ  (5)

If Θ>ζ, it implies that the wafer processing time in PM₁ decides the cycle time of the system. In this case, to obtain an optimal schedule, after performing A₁₂, one should perform A₀₁ immediately to keep PM₁, the bottleneck of the system, working. Furthermore, according to the fabrication requirements, A₁₂ and A₃₀ should be performed before A¹ ₂₃, and A¹ ₂₃ before A₃₂. Therefore, there are two different strategies only, i.e., Case 6): A² ₂₃A₃₀A₁₂A₀₁A¹ ₂₃A₃₂ and Case 7): A² ₂₃A₁₂A₀₁A₃₀A¹ ₂₃A₃₂.

For Case 6, one has σ₆=

unloading a wafer from PM₂ (λ)→moving to PM₃ (μ)→loading a wafer into PM₃ (λ)→unloading a wafer from PM₃ (λ)→moving to PM₀ (μ)→loading a wafer into PM₀ (λ)→moving to PM₁ (μ)→unloading a wafer from PM₁ (λ)→moving to PM₂ (μ)→loading a wafer into PM₂ (λ)→moving to PM₀ (μ)→unloading a wafer from PM₀ (λ)→moving to PM₁ (μ)→loading a wafer into PM₁ (λ)→moving to PM₂ (μ)→unloading a wafer from PM₂ (λ)→moving to PM₃ (μ)→loading a wafer into PM₃ (λ)→unloading a wafer from PM₃ (λ)→moving to PM₂ (μ)→loading a wafer into PM₂ (λ)

. Thus, the robot cycle time without waiting is ψ₆₁=12λ+9μ  (6)

For Case 7, it is same as Case 2, and the robot cycle time without waiting is ψ₇₁=12λ+10μ  (7)

With the above analysis, one discusses the schedulability and scheduling method next by examining the above cases for scheduling the robot task sequence.

B. Schedulability and Scheduling

In this section, based on Θ=ζ or Θ>ζ, one studies the schedulability and scheduling problem by examining each of the above robot scheduling strategies. For any above given robot scheduling strategy, if a schedule exists, an algorithm is derived to find it by setting the robot waiting time simply.

A. Θ=ζand α₂≦α₃

With α₂≦α₃, one has ζ=8λ+5μ+α₂+α₃+Max{α₂, α₃}=8λ+5μ+α₂+2α₃. If a schedule is obtained by robot task sequence A² ₂₃A₀₁A₁₂A₃₀A¹ ₂₃A₃₂ or Case 1, the Gantt chart can be shown in FIG. 4 where the highlighted path with red color is the critical one. This implies that, to obtain an optimal schedule, one should find no delay along this path. With this observation, the robot task sequence can be equivalently denoted as A₀₁A₁₂A₃₀A₁ ₂₃A₃₂A² ₂₃.

It follows from the Gantt chart in FIG. 4 that, to make Θ=ζ, 2λ+2μ+α₁+2λ+μ+α₂≦α₃+(2λ+μ)+μ

α₁+α₂+2λ+μ≦α₃ must hold. Let ψ_(i2), i∈N₇, be the robot waiting time in a cycle. Then, for A² ₂₃A₀₁A₁₂A₃₀A¹ ₂₃A₃₂, one has ψ₁₂=ζ−ψ₁₁=(8λ+5μ+α₂+2α₃)−(12λ+9μ)=2α₃+α₂−4λ−4μ. In this case, it follows from FIG. 4 that W₁(2), W₂(1), and W₂(2) are unloaded immediately after being processed in PM₃, PM₃, and PM₂, respectively. Thus, wafer residency time constraints may be violated for only W₂(1) and W₂(1) that are processed in PM₁ and PM₂, respectively. To obtain a feasible schedule if it exists, the key is to assign ψ₁₂ into ω_(ij)'s properly. To do so, one presents the following algorithm.

Algorithm 1: If Θ=ζ with α₁+α₂+2λ+μ≦α₃ and the robot task sequence is A² ₂₃A₀₁A₁₂A₃₀A¹ ₂₃A₃₂, ω_(ij)'s are set as follows to obtain a one-wafer cyclic schedule if it exists.

i. Q=1.

ii. If α₃≦α₁+α₂+2λ+μ+δ₁

-   -   2.1. ω₀₁=0, ω₁₂=α₃−α₂−2λ−μ, ω₃₀=α₃−4λ−4μ−ω₁₂, ω¹ ₂₃=0, ω₃₂=α₃,         and ω² ₂₃=α₂;     -   2.2. Go to Step vi.

iii. If α₃≦α₁+α₂+2λ+μ+δ₂

-   -   3.1. ω₀₁=0, ω₁₂=α₁, ω₃₀=α₃−4λ−4μ−ω₁₂, ω¹ ₂₃=0, ω₃₂=α₃, and ω²         ₂₃=α₂;     -   3.2. Go to Step vi.

iv. If α₁+α₂+2λ+μ+δ₁<α₃, α₁+α₂+2λ+μ+δ₂<α₃, and α₁+α₂+2λ+μ+δ₁+δ₂≧α₃

-   -   4.1. ω₀₁=0, ω₁₂=α₁+δ₁, ω₃₀=α₃−4λ−4μ−ω₁₂, ω¹ ₂₃=0, ω₃₂=α₃, and ω²         ₂₃=α₂;     -   4.2. Go to Step vi.

v. If α₁+α₂+2λ+μ+δ₁+δ₂<α₃

-   -   5.1. ω₀₁=α₃−(α₁+α₂+2λ+μ+δ₁+δ₂);     -   5.2. If ω₀₁>α₃−4λ−4μ−α₁−δ₁, Q=0 and go to Step vi;     -   5.3. Otherwise, ω₁₂=α₁+δ₁, ω₃₀=α₃−4λ−4μ−ω₁₂−ω₀₁, ω¹ ₂₃=0,         ω₃₂=α₃, and ω² ₂₃=α₂;     -   5.4. Go to Step vi.

vi. Return Q and end.

By Algorithm 1, α₁+α₂+2λ+μ≦α₃. Thus, for Case ii, with α_(i)≧5(μ+λ), one has ω₁₂=α₃−α₂−2λ−μ≧α₁>0, ω₃₀=α₃−4λ−4μ−(α₃−α₂−2λ−μ)=α₂−2λ−3μ>0. For Case iii, ω₃₀=α₃−4λ−4μ−α₁≧α₂−2λ−3μ>0. For Case iv, ω₃₀=α₃−4λ−4μ−(α₁+δ₁)>( α₁+α₂+2λ+μ+δ₁)−4λ−4μ−(α₁+δ₁)=α₂−2λ−3μ>0. For Case v, if Q=1 is returned, 0<ω₀₁=α₃−(α₁+α₂+2λ+μ+δ₁+δ₂)≦α₃−4λ−4μ−α₁−δ₁, leading to ω₃₀=α₃−4λ−4μ−ω₁₂−ω₀₁≧0. Hence, any robot waiting time set by Algorithm 1 is non-negative if Q=1 is returned. Furthermore, for each case, one has ψ₁₂=ω₀₁+ω₁₂+ω₃₀+ω² ₂₃+ω₃₂+ω¹ ₂₃=2α₃+α₂−4λ−4μ such that Θ=Θ=ψ₁₁+ψ₁₂. The following theorem presents the feasibility of the schedule obtained by Algorithm 1.

Theorem 1: Assume that: 1) the cycle time of the system is Θ=ζ with α₁+α₂+2λ+μ≦α₃, 2) the robot task sequence is A² ₂₃A₀₁A₁₂A₃₀A¹ ₂₃A₃₂, and 3) the robot waiting time is set by Algorithm 1 with Q=1 being returned. Then, the obtained one-wafer cyclic schedule is feasible.

Proof: One needs to show that the wafer residency time constraints are satisfied for only W₂(1) and W₂(1) that are processed in PM₁ and PM₂, respectively. Let τ_(i) denote the wafer sojourn time in PM_(i). It follows from FIG. 4 that, for Case ii and W₂(1) in PM₁, one has τ₁=ω₁₂=α₁+[α₃−(α₁+α₂+2λ+μ)]. By assumption, 0≦α₃−(α₁+α₂+2λ+μ)≦δ₁. Hence, one has α₁≦τ₁≦α₁+δ₁. To calculate τ₂, let T₁ be the time instant when a wafer is just loaded into a PM and T_(u) be the time instant when the robot begins to unload a wafer from a PM. For W₂(1) in PM₂, from FIG. 4, one has T_(l)=2λ+2μ+ω₁₂+2λ+μ and T_(u)=α₃+2λ+2μ, leading to τ₂=T_(u)−T_(l)=α₃+2λ+2μ−(2λ+2μ+ω₁₂+2λ+μ)=α₂. The wafer residency time constraints are satisfied for both of them. For Case iii, τ₁=ω₁₂=α₁ and τ₂=T_(u)−T_(l)=α₃+2λ+2μ−(2λ+2μ+ω₁₂+2λ+μ)=α₃−α₁−2λ−μ. Since α₂≦α₃−α₁−2λ−μ≦α₂+δ₂, one has α₂≦τ₂≦α₂+δ₂. For Case iv, τ₁=ω₁₂=α₁+δ₁ and τ₂=T_(u)−T_(l)=α₃+2λ+2μ−(2λ+2μ+ω₁₂+2λ+μ)=α₃−α₁−δ₁−2λ−μ. Since (α₁+α₂+2λ+μ+δ₁)−α₁−δ₁−2λ−μ=α₂≦α₃−δ₁−2λ−μ≦(α₁+α₂+2λ+μ−δ₁+δ₂)−α₁−δ₁−2λ−μ=α₂+δ₂, one has α₂≦τ₂≦α₂+δ₂. For Case v, τ₁=ω₁₂=α₁+δ₁ and τ₂=T_(u)−T_(l)=α₃+2λ+2μ−(2λ+2μ+ω₁₂+ω₀₁+2λ+μ)=α₂+δ₂. Hence, for all cases, the wafer residency time constraints are satisfied.

This case can be illustrated by the time taken for processing the wafers in a PM shown in FIG. 5. In FIG. 5, let τ_(d)(q) in PM_(i), d, q∈N₂, and i∈N₃, denote the sojourn time of the d-th wafer visiting PM_(i) for the q-th time. To make a schedule feasible, τ_(d)(q)∈[α_(i), α_(i)+δ_(i)] should hold. It follows from FIG. 5 that it is true for every step and every case. Therefore, for all cases, the wafer residency time constraints are satisfied.

Notice that, for Case v, to make ω₀₁>0, one sets ω₀₁=α₃−(α₁+α₂+2λ+μ+δ₁+δ₂). In this case, if ω₀₁>α₃−4λ−4μ−α₁−δ₁, one cannot set ω_(ij)'s such that ∀ω_(ij)≧0, Θ=ζ=ψ₁₁+ψ₁₂, and the wafer residency time constraints are satisfied. In other words, a feasible schedule cannot be found and Q=0 is returned to indicate this result.

For robot task sequence Case 2: A² ₂₃A₁₂A₀₁A₃₀A¹ ₂₃A₃₂, the schedule obtained is shown in FIG. 6 and the critical path is found as highlighted. Similar to Case 1, one has ψ₂₂=ζ−ψ₂₁=(8λ+5μ+α₂+2α₃)−(12λ+10μ)=2α₃+α₂−4λ−5μ. For this case, the wafer residency time constraints may be violated for only W₃(1) and W₂(1) that are processed in PM₁ and PM₂, respectively. Note that W₃(1) in PM₁ can be unloaded at not earlier than time instant ζ+μ. For this case, one presents the following algorithm.

Algorithm 2: If Θ=ζ with α₂≦α₃ and the robot task sequence is A² ₂₃A₁₂A₀₁A₃₀A¹ ₂₃A₃₂, ω_(ij)'s are set as follows to obtain a one-wafer cyclic schedule if it exists.

i. Q=1.

ii. If α₂+δ₂≧α₃, ω₁₂=0

-   -   2.1. If 4λ+4μ+α₁≦ζ+μ≦4λ+4μ+α₁+δ₁, ω₀₁=0, ω₃₀=α₃−4λ−5μ, ω¹ ₂₃=0,         ω₃₂=α₃, and ω² ₂₃=α₂, go to Step iv;     -   2.2. If 4λ+4μ+α₁+δ_(1<ζ+μ, ω) ₀₁=ζ+μ−(4λ+4μ+α₁+δ₁);     -   2.3. If ω₀₁>α₃−4λ−5μ, Q=0 and go to Step iv, otherwise,         ω₃₀=α₃−4λ−5μ−ω₀₁, ω¹ ₂₃=0, ω₃₂=α₃, and ω² ₂₃=α₂;     -   2.4. Go to Step iv.

iii. If α₂+δ₂<α₃, ω₁₂=α₃−α₂−δ₂

-   -   3.1. If ω₁₂+4λ+4μ+α₁≦ζ+μ≦ω₁₂+4λ+4μ+α₁+δ₁, ω₀₁=0,         ω₃₀=α₃−4λ−5μ−ω₁₂, ω¹ ₂₃=0, ω₃₂=α₃, and ω² ₂₃=α₂, go to Step iv;     -   3.2. If ω₁₂+4λ+4μ+α₁+δ_(1<ζ+μ, ω) ₀₁=ζ+μ−(ω₁₂+4λ+4μ+α₁+δ₁);     -   3.3. If ω₀₁>α₃−4λ−5μ−ω₁₂, Q=0 and go to Step iv, otherwise,         ω₃₀=α₃−4λ−5μ−ω₁₂−ω₀₁, ω¹ ₂₃=0, ω₃₂=α₃, and ω² ₂₃=α₂;     -   3.4. Go to Step iv.

iv. Return Q and end.

By Algorithm 2, for 2.1, since α_(i)≧5(μ+λ), one has ω₃₀=α₃−4λ−5μ>0. For 2.2, as 4λ+4μ+α₁+δ₁<ζ+μ, ω₀₁=ζ+μ−(4λ+4μ+α₁+δ₁)>0. For 2.3, if Q=1, ω₀₁≦α₃−4λ−5μ leading to ω₃₀=α₃−4λ−5μ−ω₀₁≧0. For 3.1, ω₁₂=α₃−α₂−δ₂>0 and ω₃₀=α₃−4λ−5μ−ω₁₂=α₂+δ₂−4λ−5μ>0. For 3.2, ω₀₁=ζ+μ−(ω₁₂+4λ+4μ+α₁+δ₁)>0. For 3.3, if Q=1, ω₀₁≦α₃−4λ−5μ−ω₁₂, leading to ω₃₀=α₃−4λ−5μ−ω₁₂−ω₀₁>0. Hence, each robot waiting time set by Algorithm 2 is non-negative if Q=1 is returned. Furthermore, one has ψ₂₂=ω₀₁+ω₁₂+ω₃₀+ω² ₂₃+ω₃₂+ω¹ ₂₃=2α₃+α₂−4λ−5μ such that the cycle time is Θ=ζ=ψ₂₁+ψ₂₂. For this case, one has the following feasibility result, which can be similarly proved as Theorem 1 is.

Theorem 2: Assume that: 1) the cycle time of the system is Θ=ζ with α₂≦α₃, 2) the robot task sequence is A² ₂₃A₁₂A₀₁A₃₀A¹ ₂₃A₃₂, and 3) the robot waiting time is set by Algorithm 2 with Q=1 being returned. Then, the obtained one-wafer cyclic schedule is feasible.

Similar to Case 1, when Q=0 is returned, a feasible schedule cannot be found. By robot task sequence Case 3: A² ₂₃A₁₂A₃₀A₀₁A¹ ₂₃A₃₂, after unloading a wafer from PM₃ to the loadlocks, the robot does not come to PM₂ for unloading completed W₂(1) to deliver it to PM₃. Instead, it unloads a wafer from the loadlocks and loads it into PM₁. By doing so, the critical path is changed, leading to Θ>ζ. This implies that, by A² ₂₃A₁₂A₃₀A₀₁A¹ ₂₃A₃₂, a schedule with Θ=ζ does not exist.

Now, consider robot task sequence Case 4: A² ₂₃A₁₂A₃₀A¹ ₂₃A₀₁A₃₂For this case, the obtained schedule is depicted in FIG. 7, and the critical path is found and highlighted. From (4), one has ψ₄₂=ζ−ψ₄₁=2α₃+α₂−4λ−6μ. In this case, it follows from FIG. 7 that the wafer residency time constraints may be violated for only W₃(1) and W₂(1) that are processed in PM₁ and PM₂, respectively. As shown in FIG. 7, W₃(1) is unloaded at time ζ+μ. One has the following algorithm to schedule the system.

Algorithm 3: If Θ=ζ with α₂≦α₃ and the robot scheduling strategy A² ₂₃A₁₂A₃₀A¹ ₂₃A₀₁A₃₂ is applied, ω_(ij)'s are set as follows to obtain a one-wafer cyclic schedule if it exists.

i. Q=1.

ii. If α₂+δ₂≧α₃, ω₁₂=0, ω₃₀=α₃−2λ−3μ, and ω¹ ₂₃=0

-   -   2.1. If α₃+6λ+5μ+α₁≦ζ+μ≦α₃+6λ+5μ+α₁+δ₁, ω₀₁=0, ω₃₂ =α₃−2λ−3μ, ω²         ₂₃=α₂, and go to Step iv;     -   2.2. If α₃+6λ+5μ+α₁+δ₁<ζ+μ, ω₀₁=ζ+μ−(α₃+6λ+5μ+α₁+δ₁);     -   2.3. If ω₀₁>α₃−2λ−3μ, Q=0, otherwise, ω₃₂=α₃−2λ−3μ−ω₀₁ and ω²         ₂₃=α₂;     -   2.4. Go to Step iv.

iii. If α₂+δ₂<α₃, ω₁₂=α₃−α₂−δ₂

-   -   3.1. If ω₁₂>α₃−2λ−3μ, Q=0 and go to Step iv;     -   3.2. Otherwise, ω₃₀=α₃−2λ−3μ−ω₁₂ and ω¹ ₂₃=0         -   3.2.1. If α₃+6λ+5μ+α₁≦ζ+μ≦α₃+6λ+5μ+α₁+δ₁, ω₀₁=0,             ω₃₂=α₃−2λ−3μ, ω² ₂₃=α₂, and go to Step iv;         -   3.2.2. If α₃+6λ+5μ+α₁+δ₁<ζ+μ, ω₀₁=ζ+μ−(α₃+6λ+5μ+α₁+δ₁);         -   3.2.3. If ω₀₁>α₃−2λ−3μ, Q=0, otherwise, ω₃₂=α₃−2λ−3μ−ω₀₁ and             ω² ₂₃=α₂;         -   3.2.4. Go to Step iv;

iv. Return Q and end.

By Algorithm 3, for Case ii, one has ω₃₀=α₃−2λ−3μ>0. By Statement 2.1, ω₃₂=α₃−2λ−3μ>0 and by Statement 2.2, since α₃+6λ+5μ+α₁+δ₁<ζ+μ, one has ω₀₁=ζ+μ−(α₃+6λ+5μ+α₁+δ₁)>0. By Statement 2.3, if Q=1, one has ω₀₁≦α₃−2λ−3μ, leading to ω₃₂=α₃−2λ−3μ−ω₀₁≧0. For Case iii, as α₂+δ₂<α₃, one has ω₁₂=α₃−α₂−δ₂>0. By Statements 3.1-3.2, if Q=1, one has ω₁₂≦α₃−2λ−3μ, leading to ω₃₀=α₃−2λ−3μ−ω₁₂≧0. Since the robot waiting time set by Statements 3.2.1-3.2.3 are identical to that set by Statements 2.1-2.3, each robot waiting time set by Algorithm 3 is non-negative. Furthermore, one has ψ₄₂=ω₀₁+ω₁₂+ω₃₀ +ω² ₂₃+ω₃₂+ω¹ ₂₃=2α₃+α₂−4λ−6μ such that Θ=ζ=ψ₄₁+ψ₄₂ holds. For schedule feasibility, one has the following theorem.

Theorem 3: Assume that: 1) the cycle time of the system is Θ=ζ with α₂≦α₃, 2) the robot task sequence is A² ₂₃A₁₂A₃₀A¹ ₂₃A₀₁A₃₂, and 3) the robot waiting time is set by Algorithm 3 with Q=1 being returned. Then, the obtained one-wafer cyclic schedule is feasible.

For the robot scheduling strategy A² ₂₃A₁₂A₃₀A¹ ₂₃A₃₂A₀₁, a schedule can be obtained as shown in FIG. 8. Similarly, from (5) one has ψ₅₂=ζ−ψ₅₁=2α₃+α₂−4λ−6μ. In this case, it follows from the schedule in FIG. 8 that the wafer residency time constraints may be violated for only W₃(1) and W₂(1) that are processed in PM₁ and PM₂, respectively. With the fact that W₃(1) is unloaded at time instant ζ+μ, one presents the following algorithm to schedule the system.

Algorithm 4: If Θ=ζ with α₂≦α₃ and the robot scheduling strategy A² ₂₃A₁₂A₃₀A¹ ₂₃A₃₂A₀₁ is applied, ω_(ij)'s are set as follows to obtain a one-wafer cyclic schedule if it exists.

i. Set Q=1

ii. If α₂+δ₂≧α₃, ω₁₂=0, ω₃₀=α₃−2λ−3μ, ω¹ ₂₃=0, and ω₃₂=α₃

-   -   2.1. If 2α₃+8λ+6μ+α₁≦ζ+μ≦2α₃+8λ+6μ+α₁+δ₁, ω₀₁=0, ω² ₂₃=α₂−2λ−3μ,         and go to Step iv;     -   2.2. If 2α₃+8λ+6μ+α₁+δ₁<ζ+μ, ω₀₁=ζ+μ−(2α₃+8λ+6μ+α₁+δ₁);     -   2.3. If ω₀₁>α₃−2λ−3μ, Q=0, otherwise, ω² ₂₃=α₂−2λ−3μ−ω₀₁;     -   2.4. Go to Step iv.

iii. If α₂+δ₂<α₃, ω₁₂=α₃−α₂−δ₂

-   -   3.1. If ω₁₂>α₃−2λ−3μ, Q=0 and go to Step iv;     -   3.2. Otherwise, ω₃₀=α₃−2λ−3μ−ω₁₂, ω¹ ₂₃=0, and ω₃₂=α₃         -   3.2.1. If 2α₃+8λ+6μ+α₁≦ζ+μ≦2α₃+8λ+6μ+α₁+δ₁, ω₀₁=0, ω²             ₂₃=α₂−2λ−3μ, and go to Step iv;         -   3.2.2. If 2α₃+8λ+6μ+α₁+δ₁<ζ+μ, ω₀₁=ζ+μ−(2α₃+8λ+6μ+α₁+δ₁);         -   3.2.3. If ω₀₁>α₃−2λ−3μ, Q=0, otherwise ω² ₂₃=α₂−2λ−3μ−ω₀₁;         -   3.2.4. Go to Step iv.

iv. Return Q and end.

By Algorithm 4, for Case ii, one has ω₃₀=α₃−2λ−3μ>0. By Statement 2.1, ω² ₂₃=α₃−2λ−3μ>0 and by Statement 2.2, with 2α₃+8λ+6μ+α₁+δ₁<ζ+μ, one has ω₀₁=ζ+μ−(2α₃+8λ+6μ+α₁+δ₁)>0. Then, by Statement 2.3, if Q=1, ω₀₁≦α₃−2λ−3μ such that ω² ₂₃=α₂−2λ−3μ−ω₀₁≧0. For Case iii, since α₂+δ₂<α₃, ω₁₂=α₃−α₂−δ₂>0. Then, by Statements 3.1-3.2, if Q=1, ω₁₂≦α₃−2λ−3μ such that ω₃₀=α₃−2λ−3μ−ω₁₂≧0. Notice that the robot waiting time set via Statements 3.2.1-3.2.3 are identical to that set via Statements 2.1-2.3. Therefore, every robot waiting time set by Algorithm 4 is non-negative. Further, one has ψ₅₂=ω₀₁+ω₁₂+ω₃₀+ω² ₂₃+ω₂₃+ω¹ ₂₃=2α₃+α₂−4λ−6μ, or one has Θ=ζ=ψ₅₁+ψ₅₂. For this case, one has the following theorem.

Theorem 4: Assume that: 1) the cycle time of system is Θ=ζ with α₂≦α₃, 2) the robot scheduling strategy A² ₂₃A₁₂A₃₀A¹ ₂₃A₃₂A₀₁ is applied, and 3) the robot waiting time is set by Algorithm 4 with Q=1 being returned. Then, the obtained one-wafer cyclic schedule is feasible.

Up to now, for the case that Θ=ζ and α₂≦α₃, one has analyzed the scheduling problem by using the five different robot scheduling strategies and presented the scheduling method if a schedule exists. Next, one analyzes the scheduling problem for the case that Θ=ζ and α₂>α₃.

B. Θ=ζ and α₂>α₃

When α₂>α₃, one has ζ=8λ+5μ+2α₂+α₃. For strategy A² ₂₃A₀₁A₁₂A₃₀A¹ ₂₃A₃₂, it follows from the above discussion that, to make Θ=ζ, α₁+α₂+2λ+μ≦α₃ must hold, leading to α₂<α₃, which contradicts to the assumption that α₂>α₃. This implies that if Θ=ζ and α₂>α₃, no schedule can be found by using this strategy.

Now one examines strategy A² ₂₃A₁₂A₀₁A₃₀A¹ ₂₃A₃₂. In this case, a schedule can be obtained as shown in FIG. 9. From (2), one has ψ₂₂=ζ−ψ₂₁=(8λ+5μ+2α₂+α₃)−(12λ+10μ)=2α₂+α₃−4λ−5μ. It follows from the schedule shown in FIG. 9 that W₁(2) being processed in PM₃ is unloaded immediately after it is processed since α₃≧5λ+5μ>2×(2λ+2μ)+μ is assumed. Also, W₂(1), W₂(1), and W₂(2) that are processed in PM₂ PM₃, and PM₂, respectively, are unloaded as soon as they are completed. Hence, the wafer residency time constraints can be violated for only W₃(1) that is processed in PM₁. Note that W₃(1) in PM₁ is unloaded at time instant ζ+μ. Then, one presents the following algorithm to find a schedule.

Algorithm 5: If Θ=ζ, α₂>α₃, and the robot scheduling strategy A² ₂₃A₁₂A₀₁A₃₀A¹ ₂₃A₃₂ is applied, ω_(ij)'s are set as follows to obtain a one-wafer cyclic schedule if it exists.

i. Q=1.

ii. If 4λ+4μ+α₁≦ζ+μ≦4λ+4μ+α₁+δ₁

-   -   2.1. ω₀₁0, ω₃₀=α₃−4λ−5μ, ω¹ ₂₃=α₂−α₃, ω₃₂=α₃, and ω² ₂₃ =α₂, go         to Step iv.

iii. If 4λ+4μ+α₁+δ₁<ζ+μ

-   -   3.1. ω₀₁=ζ+μ−(4λ+4μ+α₁+δ₁);     -   3.2.If ω₀₁>α₃−4λ−5μ, Q=0 and go to Step iv;     -   3.3. Otherwise, ω₃₀=α₃−4λ−5μ−ω₀₁, ω¹ ₂₃=α₂−α₃, ω₃₂=α₃, ω² ₂₃=α₂,         and go to Step iv.

iv. Return Q and end.

In Algorithm 5, by Statement 2.1, ω₃₀=α₃−4λ−5μ>0 and ω¹ ₂₃=α₂−α₃>0 hold. By Statements 3.1-3.3, as 4λ+4μ+α₁+δ₁<ζ+μ, one has ω₀₁=ζ+μ−(4λ+4μ+α₁+δ₁)>0. Then, if Q=1, ω₀₁≦α₃−4λ−5μ, one has ω₃₀=α₃−4λ−5μ−ω₀₁≧0. Hence, the robot waiting time set by Algorithm 5 is non-negative. Furthermore, one has ψ₂₂=ω₀₁+ω₁₂+ω₃₀+ω² ₂₃+ω₃₂+ω¹ ₂₃=2α₃+α₂−4λ−5μ such that Θ=ζ=ψ₂₁+ψ₂₂. For the obtained schedule, one has the following theorem.

Theorem 5: Assume that: 1) the cycle time of the system is Θ=ζ with α₂>α₃, 2) robot scheduling strategy A² ₂₃A₁₂A₀₁A₃₀A¹ ₂₃A₃₂ is applied, and 3) the robot waiting time is set by Algorithm 5 with Q=1 being returned. Then, the obtained one-wafer cyclic schedule is feasible

For strategy A² ₂₃A₁₂A₃₀A₀₁A¹ ₂₃A₃₂, a schedule can be obtained as shown in FIG. 10. From it, after unloading a wafer from PM₃ to the loadlocks, the robot unloads a raw wafer from the loadlocks and loads it into PM₁. By doing so, a schedule with Θ=ζ can be obtained and α₂≧α₃+2λ+μ must hold. This implies that W₂(1) in PM₂ is not completed before the robot comes to PM₂ for unloading it. For this case, from (3), one has ψ₃₂=ζ−ψ₃₁=2λ₂+α₃−4λ−4μ. Also, by this strategy, the wafer residency time constraints can be violated for only W₃(1) being processed in PM₁. One presents the following algorithm to find a schedule.

Algorithm 6: If Θ=ζ, α₂≧α₃+2λ+μ, and the robot scheduling strategy A² ₂₃A₁₂A₃₀A₀₁A¹ ₂₃A₃₂ is applied, ω_(ij)'s are set as follows to obtain a one-wafer cyclic schedule if it exists.

i. Q=1.

ii. If 4λ+2μ+α₃+α₁≦ζ+μ≦4λ+2μ+α₃+α₁+δ₁

-   -   2.1. ω₁₂=0, ω₃₀=α₃−2λ−3μ, ω₀₁=0, ω¹ ₂₃=α₂−α₃−2λ−μ, ω₃₂=α₃, ω²         ₂₃=α₂, and go to Step iv.

iii. If 4λ+2μ+α₃+α₁+δ₁<ζ+μ

-   -   3.1. ω₁₂=0, ω₃₀=α₃−2λ−3μ, and ω₀₁=ζ+μ−(4λ+2μ+α₃+α₁+δ₁);     -   3.2. If ω₀₁>α₂−α₃−2λ−μ, Q=0, and go to Step iv;     -   3.3. Otherwise, ω¹ ₂₃=α₂−α₃−2λ−μ−ω₀₁, ω₃₂=α₃, ω² ₂₃=α₂, and go         to Step iv.

iv. Return Q and end.

In Algorithm 6, for Case ii, ω₃₀=α₃−2λ−3μ>0 and ω¹ ₂₃=α₂−α₃−2λ−μ>0. For Case iii, ω₃₀=α₃−2λ−3μ>0. As 4λ+2μ+α₃+α₁+δ₁<ζ+μ, one has ω₀₁=ζ+μ−(4λ+2μ+α₃+α₁+δ₁)>0. By Statements 3.2-3.3, if Q=1, ω₀₁≦α₂−α₃−2λ−μ, then, one has ω¹ ₂₃=α₂−α₃−2μ−μ−ω₀₁≧0. Hence, the robot waiting time set by Algorithm 6 is non-negative. Furthermore, one has ψ₃₂=ω₀₁+ω₁₂+ω² ₂₃+ω₃₂+ω¹ ₂₃+2λα₂+α₃−4λ−4μ such that Θ32 ζ=ψ₃₁+ψ₃₂. For the obtained schedule, one has the following theorem.

Theorem 6: Assume that 1) the cycle time of system is Θ=ζ with α₂≧α₃+2λ+μ, 2) the robot scheduling strategy A² ₂₃A₁₂A₃₀A₀₁A¹ ₂₃A₃₂ is applied, and 3) the robot waiting time is set by Algorithm 6 with Q=1 being returned. Then, the obtained one-wafer cyclic schedule is feasible.

For strategy A² ₂₃A₁₂A₃₀A¹ ₂₃A₀₁A₃₂, a schedule can be obtained as shown in FIG. 11. In this case, from (4), one has ψ₄₂=ζ−ψ₄₁=2α₂+α₃−4λ−6μ. It follows from it that the wafer residency time constraints may be violated for only W₃(1) being processed in PM₁. One presents the following algorithm to set the robot waiting time.

Algorithm 7: If Θ=ζ, α₂>α₃, and robot scheduling strategy A² ₂₃A₁₂A₃₀A¹ ₂₃A₀₁A₃₂ is applied, ω_(ij)'s are set as follows to obtain a one-wafer cyclic schedule if it exists.

i. Q=1.

ii. If α₂+6λ+5μ+α₁≦ζ+μ≦α₂+6λ+5μ+α₁+δ₁

-   -   2.1. ω₁₂=0, ω₃₀=α₃−2λ−3μ, ω¹ ₂₃=α₂−α₃, ω₀₁=0, ω₃₂=α₃−2λ−3μ, ω²         ₂₃=α₂, and go to Step iv.

iii. If α₂+6λ+5μ+α₁+δ₁<ζ+μ

-   -   3.1. ω₁₂=0, ω₃₀=α₃−2λ−3μ, ω¹ ₂₃=α₂−α₃, and         ω₀₁=ζ+μ−(α₂+6λ+5μ+α₁+δ₁);     -   3.2. If ω₀₁>α₃−2λ−3μ, Q=0, and go to Step iv;     -   3.3. Otherwise, ω₃₂=α₃−2λ−3μ−ω₀₁, ω² ₂₃=α₂, and go to Step iv.

iv. Return Q and end.

In Algorithm 7, for Case ii, ω₃₀=α₃−2λ−3μ>0, ω¹ ₂₃=α₂−α₃>0, and ω₃₂=α₃−2λ−3μ>0. For Case iii, ω₃₀=α₃−2λ−3μ>0 and ω¹ ₂₃=α₂−α₃>0. As α₂+6λ+5μ+α₁+δ₁<ζ+μ, one has ω₀₁=ζ+μ−(α₂+6λ+5μ+α₁+δ₁)>0. By Statements 3.2-3.3, if Q=1, ω₀₁≦α₃−2λ−3μ, leading to ω₃₂=α₃−2λ−3μ−ω₀₁≧0. Hence, the robot waiting time set by Algorithm 6 is non-negative. Furthermore, one has ψ₄₂=ω₀₁+ω₁₂+ω₃₀+ω² ₂₃+ω₃₂+ω¹ ₂₃=2α₂+α₃−4λ−6μ such that Θ=ζ=ψ₄₁+ψ₄₂. For this case, one has the following theorem.

Theorem 7: Assume that: 1) the cycle time of the system is Θ=ζ with α₂>α₃, 2) robot scheduling strategy A² ₂₃A₁₂A₃₀A¹ ₂₃A₀₁A₃₂ is applied, and 3) robot waiting time is set by Algorithm 7 with Q=1 being returned. Then, the obtained one-wafer cyclic schedule is feasible.

For strategy A² ₂₃A₁₂A₃₀A¹ ₂₃A₃₂A₀₁, a schedule can be obtained as depicted in FIG. 12. From (5), one has ψ₅₂=ζ−ψ₅₁=2α₂+α₃−4λ−6μ. In this case, the wafer residency time constraints can be violated for only W₃(1) being processed in PM₁. The following algorithm is used to set the robot waiting time.

Algorithm 8: If Θ=ζ, α₂>α₃, and robot scheduling strategy A² ₂₃A₁₂A₃₀A¹ ₂₃A₃₂A₀₁ is applied, ω_(ij)'s are set as follows to obtain a one-wafer cyclic schedule if it exists.

i. Q=1.

ii. If α₂+α₃+8λ+6μ+α₁≦ζ+μ≦α₂+α₃+8λ+6μ+α₁+δ₁

-   -   2.1. ω₁=0, ω₃₀=α₃−2λ−3μ, ω¹ ₂₃=α₂−α₃, ω₃₂=α₃, ω₀₁=0, ω²         ₂₃=α₂−2λ−3μ, and go to Step iv.

iii. If α₂+α₃+8λ+6μ+α₁+δ₁<ζ+μ

-   -   3.1. ω₁₂=0, ω₃₀=α₃−2λ−3μ, ω¹ ₂₃=α₂−α₃, ω₃₂=α₃, and         ω₀₁=ζ+μ−(α₂+α₃+8λ+6μ+α₁+δ₁);     -   3.2. If ω₀₁>α₂−2λ−3μ, Q=0 and go to Step iv;     -   3.3. Otherwise, ω² ₂₃=α₂−2λ−3μ−ω₀₁ and go to Step iv.

iv. Return Q and end.

In Algorithm 8, for Case ii, ω₃₀=α₃−2λ−3μ>0, ω¹ ₂₃=α₂−α₃>0, and ω² ₂₃=α₂−2λ−3μ>0. For Case iii, ω₃₀=α₃−2λ−3μ>0 and ω¹ ₂₃=α₂−α₃>0. As α₂+α₃+8λ+6μ+α₁+δ₁<ζ+μ, one has ω₀₁=ζ+μ−(α₂+α₃+8λ+6μ+α₁+δ₁)>0. By Statements 3.2-3.3, if Q=1, ω₀₁≦α₂−2λ−3μ and one thus has ω² ₂₃=α₂−2λ−3μ−ω₀₁≧0. Hence, every robot waiting time set by Algorithm 8 is non-negative. Furthermore, one has ψ₅₂=ω₀₁+ω₁₂+ω₃₀+ω² ₂₃+ω₃₂+ω¹ ₂₃=2α₂+α₃−4λ−6μ such that Θ=ζ=ψ₅₁+ψ₅₂. For this case, one has the following theorem.

Theorem 8: Assume that: 1) the cycle time of the system is Θ=ζ with α₂>α₃, 2) robot scheduling strategy A² ₂₃A₁₂A₃₀A¹ ₂₃A₃₂A₀₁ is applied, and 3) the robot waiting time is set by Algorithm 8 with Q=1 being returned. Then, the obtained one-wafer cyclic schedule is feasible.

Up to now, for the case that Θ=ζ, one analyzes the existence of a schedule by examining the five robot scheduling strategies. If there is a schedule, algorithms are given to find a feasible one-wafer cyclic schedule. By Θ=ζ, it means that the revisiting process decides the cycle time of the system. In some cases, the wafer processing time in PM₁ decides the cycle time of the system. One discusses such cases next.

C. Θ>ζ

It follows from the discussion in Section A that when Θ>ζ there are two possible robot scheduling strategies, i.e., Cases 6 and 7, or A² ₂₃A₃₀A₁₂A₀₁A¹ ₂₃A₃₂ and A² ₂₃A₁₂A₀₁A₃₀A¹ ₂₃A₃₂. For Case 6, from Section A, after the robot loads a wafer into PM₂, the robot should go to the loadlocks immediately for unloading a raw wafer there. After unloading a wafer from the loadlocks, it moves to PM₁ and loads the wafer into PM₁, or A₀₁ is performed with 2λ+2μ time units being taken. Then, A¹ ₂₃\{m₂₂}, A₃₂, A² ₂₃, and A₃₀ are performed sequentially. After A₃₀ is performed, the robot comes to PM₁ for performing A₁₂. Since the cycle time of the system is dominated by the wafer processing time in PM₁, when the robot arrives at PM₁, the wafer being processed in PM₁ is not completed yet. Thus, to complete a wafer at PM₁, the following activities should be executed in a sequential way: (Loading a wafer into PM₂(λ)→moving to the loadlock (μ)→unloading a wafer from the loadlock (λ)→moving to PM₁(μ)→loading it to PM₁(λ)→processing at PM₁(α₁)→unloading a wafer from PM₁(λ)→moving to PM₂(μ)→loading a wafer into PM₂(λ) again). The time taken for completing a wafer at PM₁ is α₁+4λ+3μ, or the cycle time of the system is Θ=α₁+4λ+3μ>ζ.

Based on the above analysis, by applying A² ₂₃A₃₀A₁₂A₀₁A¹ ₂₃A₃₂, a schedule can be obtained as shown in FIG. 13. From FIG. 13, one has α₁>6λ+3μ+2(α₂+α₃). For this schedule, all the wafers are unloaded immediately from a PM after they are completed. Therefore, the wafer residency time constraints are clearly satisfied. Furthermore, from (6), one has ψ₆₂=Θ−ψ₆₁=α₁+4λ+3μ−(12λ+9μ)=α₁−8λ−6μ. The following algorithm is present to set the robot waiting time for this schedule.

Algorithm 9: If Θ>ζ, α₁≧6λ+3μ+2(α₂+α₃), and robot scheduling strategy A² ₂₃A₃₀A₁₂A₀₁A¹ ₂₃A₃₂ is applied, ω_(ij)'s are set as follows to obtain a one-wafer cyclic schedule if it exists.

-   1) ω₃₀=α₃ and ω₀₁=0; -   2) ω¹ ₂₃=α₂−2λ−3μ; -   3) ω₃₂=α₃, ω² ₂₃=α₂; -   4) ω₁₂=α₁−6λ−3μ−2(α₂+α₃).

By assumption that α₂≧5λ+5μ, one has ω¹ ₂₃=α₂−2λ−3μ>0. As α₁≧6λ+3μ+2(α₂+α₃), ω₁₂=α₁−6λ−3μ−2(α₂+α₃)≧0. Hence, the robot waiting time set by Algorithm 9 is non-negative. Furthermore, one has ψ₆₂=ω₀₁+ω₁₂+ω₃₀+ω² ₂₃+ω₃₂+ω¹ ₂₃=α₁−8λ−6μ such that Θ=ψ₅₁+ψ₅₂. As discussed above, the wafer residency time constraints are always met. Hence, for this schedule, one has the following theorem immediately.

Theorem 9: Assume that: 1) the cycle time of the system is Θ>ζ and α₁≧6λ+3μ+2(α₂+α₃), 2) robot scheduling strategy A² ₂₃A₃₀A₁₂A₀₁A¹ ₂₃A₃₂ is applied, and 3) the robot waiting time is set by Algorithm 9. Then, the obtained one-wafer cyclic schedule is feasible.

For case 7: A² ₂₃A₁₂A₀₁A₃₀A¹ ₂₃A₃₂, to make the wafer residency time constraints satisfied, after A² ₂₃ is performed, the robot may wait for some time and then perform A₁₂. Further, by such a strategy, a wafer may stay in a PM for some time after its completion and the schedule obtained is depicted in FIG. 14. Let δ_(m) ^(n)∈[0, δ_(m)] be the time for which the m-th wafer with its n-th visiting of a PM stays in the PM after processed. For this case, one also has Θ=α₁+4λ+3μ>ζ. From (7), one has ψ₇₂=Θ−ψ₇₁=α₁+4λ+μ−(12λ+10μ)=α₁−8λ−7μ.

To make the schedule feasible, δ_(m) ^(n) must fall within [0, δ_(m)]. However, δ_(m) ^(n) cannot be decided independently and a method is necessary to do so. Let φ₁ and φ₂ be time instants when the execution of A² ₂₃ and A₁₂ ends, and χ=φ₂−φ₁. After A² ₂₃ is performed, the robot may wait for some time and then performs A₁₂, which takes 2λ+2μ time units. Thus, one has Case A: χ≧2λ+2μ. For this case, after A₁₂ is performed, it is followed by A₀₁ (which takes 2λ+2μ time units) and then A₃₀. Hence, after performing A₀₁, the robot comes to PM₃ for unloading W₁(2) by performing m₁₃ (μ time units). Let φ₃ be time instant when the execution of m₁₃ ends. Then, one has Case B: φ₃−φ₁=χ+2λ+3μ≦α₃+δ₃ ². By performing A₃₀\{m₁₃}(2λ+μ), W₁(2) completed in PM₃ is loaded into the loadlocks. Then, the robot comes to PM₂ for unloading W₂(1) by performing m₀₂ (μ time units). Let φ₄ be time instant when the execution of m₀₂ ends. Then, one has Case C: φ₄−φ₁=α₃+δ₃ ²+2λ+2μ≦χ+α₂+δ₂ ¹. By assumption, the wafer processing time in PM₁ dominates the cycle time of the system. From FIG. 14, one has Case D: χ+(α₂+δ₂ ¹)+(α₃+δ₃ ¹)+(α₂+δ₂ ²)+3(2λ+μ)=α₁+4λ+3μ. Hence, to obtain a feasible schedule, the following linear program is proposed to determine χ, δ₂ ¹, δ₂ ², δ₃ ¹, and δ₃ ².

$\begin{matrix} \begin{matrix} {{{Min}\; Z} = {\chi + \delta_{3}^{1} + \delta_{3}^{2} + \delta_{2}^{1} + \delta_{2}^{2}}} \\ {s.t.\left\{ {\quad\begin{matrix} {\chi \geq {{2\;\lambda} + {2\mu}}} \\ {{\chi - \delta_{3}^{2}} \leq {\alpha_{3} - {2\lambda} - {3\mu}}} \\ {{{- \chi} + \delta_{3}^{2} - \delta_{2}^{1}} \leq {\alpha_{2} - \alpha_{3} - {2\lambda} - {2\mu}}} \\ {{\chi + \delta_{3}^{1} + \delta_{2}^{1} + \delta_{2}^{2}} = {\alpha_{1} - {2\alpha_{2}} - \alpha_{3} - {2\lambda}}} \\ {\delta_{3}^{2} \leq \delta_{3}} \\ {\delta_{3}^{1} \leq \delta_{3}} \\ {\delta_{2}^{1} \leq \delta_{2}} \\ {\delta_{2}^{2} \leq \delta_{2}} \\ {\chi,\delta_{3}^{1},\delta_{3}^{2},\delta_{2}^{1},{\delta_{2}^{2} \geq 0}} \end{matrix}} \right.} \end{matrix} & (8) \end{matrix}$

Since the variables can be any real number, this linear programing problem can be efficiently solved by a commercial solver. It implies that the system does not satisfy the wafer residency time constraints by adopting strategy A² ₂₃A₁₂A₀₁A₃₀A¹ ₂₃A₃₂ if there is no solution for such a Z. Otherwise, the following algorithm is presented to schedule the system.

Algorithm 10: If Θ>ζ and robot scheduling strategy A² ₂₃A₁₂A₀₁A₃₀A¹ ₂₃A₃₂ is applied, ω_(ij)'s are set as follows to obtain a one-wafer cyclic schedule if it exists.

-   1) Determine, χm δ₂ ¹, δ₂ ², δ₃ ¹, and δ₃ ² by solving Problem (8); -   2) ω₁₂=χ−2λ−2μ, ω₀₁=0, ω₃₀=α₃+δ₃ ²−2λ−3μ−χ; -   3) ω¹ ₂₃=χ+α₂+δ₂ ¹=α₃−δ₃ ²−2λ−2μ, ω₃₂=α₃+δ₃ ¹, and ω² ₂₃=α₂+δ₂ ².

By Algorithm 10, since ψ∈[2λ+2μ, α₃+δ₃ ²−2λ−3μ], one has ω₁₂=χ−2λ−2μ≧0 and ω₃₀=α₃+δ₃ ²−2λ−3μ−χ≧0. From (8) one has χ+α₂+δ₂ ¹≧α₃+δ₃ ²+2λ+2μ, leading to ω¹ ₂₃=χ+α₂+δ₂ ¹−α₃−δ₃ ²−2λ−2μ≧0. Hence, the robot waiting time set by Algorithm 10 is non-negative. Further, one has ω₀₁+ω₁₂+ω₃₀+ω² ₂₃+ω₃₂+ω¹ ₂₃=δ₂ ¹+δ₂ ²+δ₃ ¹+χ+2α₂+α₃−6λ−7μ=α₁−8λ−7μ=ψ₇₂ such that Θ=ψ₇₁+ψ₇₂. For this case, one has the following theorem.

Theorem 10: Assume that: 1) the cycle time of the system is Θ>ζ, 2) robot scheduling strategy A² ₂₃A ₁₂A₀₁A₃₀A¹ ₂₃A₃₂ is applied, and 3) the robot waiting time is set by Algorithm 10. Then, the obtained one-wafer cyclic schedule is feasible.

Proof: It is obviously and is omitted.

Up to now, one has presented the schedulability analysis by applying the seven robot scheduling strategies and conditions are given to check the schedulability. If schedulable, algorithms are proposed to obtain a feasible schedule by setting the robot waiting time. The proposed methods are efficient and practically applicable. Next, one proves the optimality of the obtained schedule.

Theorem 11: A schedule obtained by Algorithms 1-10 is optimal in terms of cycle time.

Proof: For a schedule obtained by Algorithms 1-8, one has Θ=ζ=8λ+5μ+α₂+α₃+Max{α₂, α₃}. Since ζ is the cycle time of an optimal schedule for the revisiting process (PM₂, PM₃)², if the system is scheduled such that Θ<ζ, at least one of the wafers that are processed in PM₂ or PM₃ cannot be completed. In other words, it is infeasible. For a schedule obtained by Algorithms 9-10, one has Θ=4λ+3μ+α₁>ζ. Hence, if the system is scheduled such that Θ≦ζ, the wafer that is processed in PM₁ cannot be completed within Θ, and the schedule is infeasible. Therefore, a schedule found by Algorithms 1-10 is optimal in terms of cycle time.

It is important to schedule a cluster tool to maximize the productivity. By Theorem 11, such a goal is realized.

C. Illustrative Examples

This section uses examples to show the application of the proposed method. For all examples, the wafer flow pattern is (PM₁, (PM₂, PM₃)²).

Example 1

The wafer processing time at Steps 1-3 are α₁=120 s, α₂=75 s, α₃=60 s, respectively. After being processed, a wafer at Steps 1-3 can stay there for at most 20 s, 25 s, and 25 s, or δ₁=20 s, δ₂=25 s, and δ₃=25 s. The robot task time is μ=1 s and λ=3 s.

For this example, as α₂>α₃, one has ζ=8λ+5μ+α₂+α₃+Max{α₂, α₃}=239 s>α₁+4λ+3μ=135 s. Thus, Θ=ζ=239 s. With α₂>α₃, one needs to examine Algorithms 5-8 only. One has α₂+6λ+5μ+α₁+δ₁=75+18+5+120+20=238 s<ζ+μ=239+1=240 s. Thus, Case iii of Algorithm 7 with robot scheduling strategy A² ₂₃A ₁₂A₃₀A¹ ₂₃A₀₁A₃₂ is applied. According to Case iii of Algorithm 7, the robot waiting time is set as ω₁₂=0, ω₃₀=α₃−2λ−3μ=60−6−3=51 s, ω¹ ₂₃=α₂−α₃=75−60=15 s, ω₀₁=ζ+μ−(α₂+6λ+5μ+α₁+δ₁)=240−238=2 s, ω₃₂=α₃−2λ−3μ−ω₀₁=60−6−3−2=49 s, and ω² ₂₃=75 s. By this setting, one has ψ₄₂=ω₀₁+ω₁₂+ω₃₀ +ω² ₂₃+ω₃₂+ω¹ ₂₃=192 s=ζ−ψ₄₁=ζ−(12λ+11μ)=239−47=192 s.

Example 2

The wafer processing time at Steps 1-3 is changed to α₁=100 s, α₂=60 s, and α₃=75 s, respectively.

For this example, as α₂<α₃, one has ζ=8λ+5μ+α₂+α₃+Max{α₂, α₃}=239 s>α₁+4λ+3μ=115 s. Thus, Θ=ζ=239 s. With α₂<α₃, only Algorithms 1-4 are possible for scheduling it. Since α₁+α₂+2λ+μ=100+60+6+1=167 s>α₃=75 s, Algorithm 1 is excluded. Also, as α₂+δ₂=60+25>α₃=75, only Cases ii of Theorems 2-4 needs to be examined. By Case ii of Algorithm 2, one has 4λ+4μ+α₁+δ₁=12+4+100+20=136 s<ζ+μ=240 s. However, in this case, ω₀₁=ζ+μ−(4λ+4μ+α₁+δ₁)=104 s >α₃−4λ−5μ=75−12−5=58 s such that Q=0 is returned. Hence, Algorithm 2 is excluded. By Case ii of Algorithm 4, one has 2α₃+8λ+6μ+α₁=2×75+24+6+100=280>ζ+μ=240 s. Then, if strategy A² ₂₃A₁₂A₃₀A¹ ₂₃A₃₂A₀₁ is applied, it results in a schedule such that Θ>ζ. Thus, Algorithm 4 is excluded. Now, examine Case ii of Algorithm 3, one has α₃+6λ+5μ+α₁+δ₁=75+18+5+100+20=218 s<ζ+μ=240 s, or Statement 2.2 is satisfied. Furthermore, ω₀₁=ζ+μ−(α₃+6λ+5μ+α₁+δ₁)=22 s<α₃−2λ−3μ=75−6−3=66 s such that Q=1 is returned. This implies that Case ii of Algorithm 3 with robot scheduling strategy A² ₂₃A₁₂A₃₀A¹ ₂₃A₀₁A₃₂ is applicable. With it, one sets ω₀₁=22, ω₁₂=0, ω₃₀=α₃−2λ−3μ=75−6−3=66 s, ω¹ ₂₃=0, ω₃₂=α₃−2λ−3μ−ω₀₁=75−6−3−22=44 s, and ω² ₂₃=α₂=60 s such that a feasible schedule is obtained.

Example 3

The wafer processing time at Steps 1-3 is changed to α₁=240 s, α₂=75s, and α₃=60s, respectively.

For this example, one has ζ+8λ+5μ+α₂+α₃+Max{α₂, α₃}=239 s<α₁+4λ+3μ=255 s. Thus, Θ=255 s, i.e., the wafer processing time in PM₁ decides the cycle time of the system. As α₁=240<6λ+3μ+2(α₂+α₃)=291, hence, Algorithm 9 cannot be applied, or strategy A² ₂₃A₃₀A₁₂A₀₁A¹ ₂₃A₃₂ is excluded. For strategy A² ₂₃A₁₂A₀₁A₃₀A¹ ₂₃A₃₂, by solving the linear program in (8), one obtains χ=24, δ₂ ²=δ₂ ¹=δ₃ ¹=δ₃ ²=0. Thus, the system satisfies the wafer residency time constraints. Then, according to Algorithm 10, one obtains χ₁₂=χ−2λ−2μ=24−2×3−2=16, ω₀₁=0, ω₃₀=α₃+δ₃ ²−2λ−3μ−χ=60+0−6−3−24=27 s, ω¹ ₂₃=χ+α₂+δ₂ ¹−α₃−δ₃ ²−2λ−2μ=24+75+0−60−0−6−2=31 s, ω₃₂=α₃+δ₃ ¹=60+0=60 s, and ω² ₂₃=α₂+δ₂ ²=75+0=75 s. By this setting, one has ω₀₁+ω₁₂+ω² ₂₃ω₃₂+ω¹ ₂₃=0+16 +27+75+60+31=209 s=Θ−ψ₇₁=Θ−(12λ+10μ)=255−46=209 s.

The embodiments disclosed herein may be implemented using general purpose or specialized computing devices, computer processors, or electronic circuitries including but not limited to digital signal processors (DSP), application specific integrated circuits (ASIC), field programmable gate arrays (FPGA), and other programmable logic devices configured or programmed according to the teachings of the present disclosure. Computer instructions or software codes running in the general purpose or specialized computing devices, computer processors, or programmable logic devices can readily be prepared by practitioners skilled in the software or electronic art based on the teachings of the present disclosure.

In some embodiments, the present invention includes computer storage media having computer instructions or software codes stored therein which can be used to program computers or microprocessors to perform any of the processes of the present invention. The storage media can include, but is not limited to, floppy disks, optical discs, Blu-ray Disc, DVD, CD-ROMs, and magneto-optical disks, ROMs, RAMs, flash memory devices, or any type of media or devices suitable for storing instructions, codes, and/or data.

The present invention may be embodied in other specific forms without departing from the spirit or essential characteristics thereof The present embodiment is therefore to be considered in all respects as illustrative and not restrictive. The scope of the invention is indicated by the appended claims rather than by the foregoing description, and all changes that come within the meaning and range of equivalency of the claims are therefore intended to be embraced therein. 

What is claimed is:
 1. A computer implemented method for scheduling a single-arm cluster tool with wafer revisiting process and residency time constraints, comprising: obtaining, by a processor, a wafer processing time, a wafer residency time, a robot task time for loading/unloading a wafer, and a robot task time for robot's moving; determining, by a processor, a cycle time for the wafer revisiting process based on the wafer processing time, the robot task time for loading/unloading the wafer, and the robot task time for robot's moving; determining, by a processor, a cycle time of system based on the wafer processing time, the robot task time for loading/unloading the wafer, and the robot task time for robot's moving; determining, by a processor, a case of an algorithm from a plurality of defined cases of algorithms based on the wafer processing time, the determined cycle time for the wafer revisiting process, and the determined cycle time of system; determining, by a processor, a robot scheduling strategy based on the determined case of the algorithm, wherein the robot scheduling strategy comprises a plurality of basic activity sequences; determining, by a processor, a robot waiting time based on the wafer residency time and the determined case of the algorithm; and generating, by a processor, a schedule based on the determined robot scheduling strategy and the determined robot waiting time.
 2. The method of claim 1, wherein the wafer revisiting process comprises (PM₂, PM₃)²; PM₂ denotes a process module for step 2; PM₃ denotes a process module for step
 3. 3. The method of claim 1, wherein the cycle time for the revisiting process ζ is calculated by: ζ=8λ+5μ+α₂+α₃+Max{α₂, α₃}; λ denotes the robot task time for loading/unloading the wafer; μ denotes the robot task time for robot's moving; α₂ denotes a wafer processing time at step 2; and α₃ denotes a wafer processing time at step
 3. 4. The method of claim 1, wherein the cycle time of system Θ is calculated by: Θ=α₁+4λ+3μ; α₁ denotes a wafer processing time at step 1; λ denotes the robot task time for loading/unloading the wafer; and μ denotes the robot task time for robot's moving.
 5. The method of claim 1, wherein the case of the algorithm is determined by: if Θ=ζ with α₁+α₂+2λ+μ≦α₃; Θ denotes the cycle time of system; ζ denotes the cycle time for the revisiting process; α₁ denotes a wafer processing time at step 1; α₂ denotes a wafer processing time at step 2; λ denotes the robot task time for loading/unloading the wafer; μ denotes the robot task time for robot's moving; and α₃ denotes a wafer processing time at step
 3. 6. The method of claim 1, wherein the case of the algorithm is determined by: if Θ=ζ with α₂≦α₃. Θ denotes the cycle time of system; ζ denotes the cycle time for the revisiting process; α₂ denotes a wafer processing time at step 2; and α₃ denotes a wafer processing time at step
 3. 7. The method of claim 1, wherein the robot scheduling strategy comprises (1): unloading a wafer from PM₂(λ)→moving to PM₃(μ)→loading a wafer into PM₃(λ)→moving to PM₀(μ)→unloading a wafer from PM₀(λ)→moving to PM₁(μ)→loading a wafer into PM₁(λ)→unloading a wafer from PM₁(λ)→moving to PM₂(μ)→loading a wafer into PM₂(λ)→moving to PM₃(μ)→unloading a wafer from PM₃(λ)→moving to PM₀(μ)→loading a wafer into PM₀(λ)→moving to PM₂(μ)→unloading a wafer from PM₂(λ)→moving to PM₃(μ)→loading a wafer into PM₃(λ)→unloading a wafer from PM₃(λ)→moving to PM₂(μ)→loading a wafer into PM₂(λ); PM₀ denotes a process module for step 0; PM₁ denotes a process module for step 1; PM₂ denotes a process module for step 2; PM₃ denotes a process module for step 3; λ denotes the robot task time for loading/unloading the wafer; and μ denotes the robot task time for robot's moving.
 8. The method of claim 1, wherein the robot scheduling strategy comprises (2): unloading a wafer from PM₂(λ)→moving to PM₃(μ)→loading a wafer into PM₃(λ)→moving to PM₁(μ)→unloading a wafer from PM₁(λ)→moving to PM₂(μ)→loading a wafer into PM₂(λ)→moving to PM₀(μ)→unloading a wafer from PM₀(λ)→moving to PM₁(μ)→loading a wafer into PM₁(λ)→moving to PM₃(μ)→unloading a wafer from PM₃(λ)→moving to PM₀(μ)→loading a wafer into PM₀(λ)→moving to PM₂(μ)→unloading a wafer from PM₂(λ)→moving to PM₃(μ)→loading a wafer into PM₃(λ)→unloading a wafer from PM₃(λ)→moving to PM₂(μ)→loading a wafer into PM₂(λ); PM₀ denotes a process module for step 0; PM₁ denotes a process module for step 1; PM₂ denotes a process module for step 2; PM₃ denotes a process module for step 3; λ denotes the robot task time for loading/unloading the wafer; and μ denotes the robot task time for robot's moving.
 9. The method of claim 1, wherein the robot scheduling strategy comprises (3): unloading a wafer from PM₂(λ)→moving to PM₃(μ)→loading a wafer into PM₃(λ)→unloading a wafer from PM₃(λ)→moving to PM₀(μ)→loading a wafer into PM₀(λ)→moving to PM₁(μ)→unloading a wafer from PM₁(λ)→moving to PM₂(μ)→loading a wafer into PM₂(λ)→moving to PM₀(μ)→unloading a wafer from PM₀(λ)→moving to PM₁(μ)→loading a wafer into PM₁(λ)→moving to PM₂(μ)→unloading a wafer from PM₂(λ)→moving to PM₃(μ)→loading a wafer into PM₃(λ)→unloading a wafer from PM₃(λ)→moving to PM₂(μ)→loading a wafer into PM₂(λ); PM₀ denotes a process module for step 0; PM₁ denotes a process module for step 1; PM₂ denotes a process module for step 2; PM₃ denotes a process module for step 3; λ denotes the robot task time for loading/unloading the wafer; and μ denotes the robot task time for robot's moving.
 10. The method of claim 1, wherein one of the robot waiting time ω₀₁ is calculated by: ω₀₁=ζ+μ−(α₃+6λ+5μ+α₁+δ₁); ζ denotes the cycle time for the revisiting process; μ denotes the robot task time for robot's moving; α₃ denotes a wafer processing time at step 3; λ denotes the robot task time for loading/unloading the wafer; μ denotes the robot task time for robot's moving; α₁ denotes a wafer processing time at step 1; and δ₁ denotes a wafer residency time at step
 1. 11. A non-transitory computer-readable medium whose contents cause a computing system to perform a computer implemented method for scheduling a single-arm cluster tool with wafer revisiting process and residency time constraints, the method comprising: obtaining, by a processor, a wafer processing time, a wafer residency time, a robot task time for loading/unloading a wafer, and a robot task time for robot's moving; determining, by a processor, a cycle time for the wafer revisiting process based on the wafer processing time, the robot task time for loading/unloading the wafer, and the robot task time for robot's moving; determining, by a processor, a cycle time of system based on the wafer processing time, the robot task time for loading/unloading the wafer, and the robot task time for robot's moving; determining, by a processor, a case of an algorithm from a plurality of defined cases of algorithms based on the wafer processing time, the determined cycle time for the wafer revisiting process, and the determined cycle time of system; determining, by a processor, a robot scheduling strategy based on the determined case of the algorithm, wherein the robot scheduling strategy comprises a plurality of basic activity sequences; determining, by a processor, a robot waiting time based on the wafer residency time and the determined case of the algorithm; and generating, by a processor, a schedule based on the determined robot scheduling strategy and the determined robot waiting time.
 12. The non-transitory computer-readable medium of claim 11, wherein the wafer revisiting process comprises (PM₂, PM₃)²; PM₂ denotes a process module for step 2; PM₃ denotes a process module for step
 3. 13. The non-transitory computer-readable medium of claim 11, wherein the cycle time for the revisiting process ζ is calculated by: ζ=8λ+5μ+α₂+α₃+Max{α₂, α₃}; λ denotes the robot task time for loading/unloading the wafer; μ denotes the robot task time for robot's moving; α₂ denotes a wafer processing time at step 2; and α₃ denotes a wafer processing time at step
 3. 14. The non-transitory computer-readable medium of claim 11, wherein the cycle time of system Θ is calculated by: Θ=α₁+4λ+3μ; α₁ denotes a wafer processing time at step 1; λ denotes the robot task time for loading/unloading the wafer; and μ denotes the robot task time for robot's moving.
 15. The non-transitory computer-readable medium of claim 11, wherein the case of the algorithm is determined by: if Θ=ζ with α₁+α₂+2λ+μ≦α₃; Θ denotes the cycle time of system; ζ denotes the cycle time for the revisiting process; α₁ denotes a wafer processing time at step 1; α₂ denotes a wafer processing time at step 2; λ denotes the robot task time for loading/unloading the wafer; μ denotes the robot task time for robot's moving; and α₃ denotes a wafer processing time at step
 3. 16. The non-transitory computer-readable medium of claim 11, wherein the case of the algorithm is determined by: if Θ=ζ with α₂≦₃. Θ denotes the cycle time of system; ζ denotes the cycle time for the revisiting process; α₂ denotes a wafer processing time at step 2; and α₃ denotes a wafer processing time at step
 3. 17. The non-transitory computer-readable medium of claim 11, wherein the robot scheduling strategy comprises (1): unloading a wafer from PM₂(λ)→moving to PM₃(μ)→loading a wafer into PM₃(λ)→moving to PM₀(μ)→unloading a wafer from PM₀(λ)→moving to PM₁(μ)→loading a wafer into PM₁(λ)→unloading a wafer from PM₁(λ)→moving to PM₂(μ)→loading a wafer into PM₂(λ)→moving to PM₃(μ)→unloading a wafer from PM₃(λ)→moving to PM₀(μ)→loading a wafer into PM₀(λ)→moving to PM₂(μ)→unloading a wafer from PM₂(λ)→moving to PM₃(μ)→loading a wafer into PM₃(λ)→unloading a wafer from PM₃(λ)→moving to PM₂(μ)→loading a wafer into PM₂(λ); PM₀ denotes a process module for step 0; PM₁ denotes a process module for step 1; PM₂ denotes a process module for step 2; PM₃ denotes a process module for step 3; λ denotes the robot task time for loading/unloading the wafer; and μ denotes the robot task time for robot's moving.
 18. The non-transitory computer-readable medium of claim 11, wherein the robot scheduling strategy comprises (2): unloading a wafer from PM₂(λ)→moving to PM₃(μ)→loading a wafer into PM₃(λ)→moving to PM₁(μ)→unloading a wafer from PM₁(λ)→moving to PM₂(μ)→loading a wafer into PM₂(λ)→moving to PM₀(μ)→unloading a wafer from PM₀(λ)→moving to PM₁(μ)→loading a wafer into PM₁(λ)→moving to PM₃(μ)→unloading a wafer from PM₃(λ)→moving to PM₀(μ)→loading a wafer into PM₀(λ)→moving to PM₂(μ)→unloading a wafer from PM₂(λ)→moving to PM₃(μ)→loading a wafer into PM₃(λ)→unloading a wafer from PM₃(λ)→moving to PM₂(μ)→loading a wafer into PM₂(λ); PM₀ denotes a process module for step 0; PM₁ denotes a process module for step 1; PM₂ denotes a process module for step 2; PM₃ denotes a process module for step 3; λ denotes the robot task time for loading/unloading the wafer; and μ denotes the robot task time for robot's moving.
 19. The non-transitory computer-readable medium of claim 11, wherein the robot scheduling strategy comprises (3): unloading a wafer from PM₂(λ)→moving to PM₃(μ)→loading a wafer into PM₃(λ)→unloading a wafer from PM₃(λ)→moving to PM₀(μ)→loading a wafer into PM₀(λ)→moving to PM₁(μ)→unloading a wafer from PM₁(λ)→moving to PM₂(μ)→loading a wafer into PM₂(λ)→moving to PM₀(μ)→unloading a wafer from PM₀(λ)→moving to PM₁(μ)→loading a wafer into PM₁(λ)→moving to PM₂(μ)→unloading a wafer from PM₂(λ)→moving to PM₃(μ)→loading a wafer into PM₃(λ)→unloading a wafer from PM₃(λ)→moving to PM₂(μ)→loading a wafer into PM₂(λ); PM₀ denotes a process module for step 0; PM₁ denotes a process module for step 1; PM₂ denotes a process module for step 2; PM₃ denotes a process module for step 3; λ denotes the robot task time for loading/unloading the wafer; and μ denotes the robot task time for robot's moving.
 20. The non-transitory computer-readable medium of claim 11, wherein one of the robot waiting time ω₀₁ is calculated by: ω₀₁=ζ+μ−(α₃+6λ+5μ+α₁+δ₁); ζ denotes the cycle time for the revisiting process; μ denotes the robot task time for robot's moving; α₃ denotes a wafer processing time at step 3; 2, denotes the robot task time for loading/unloading the wafer; λ denotes the robot task time for robot's moving; α₁ denotes a wafer processing time at step 1; and δ₁ denotes a wafer residency time at step
 1. 